<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Importacao_contrato extends MY_Controller {

	public function __construct()
	{
		parent::__construct();
	}

	public function index()
	{
		redirect('importacao_contrato/listar');
	}

	public function listar()
	{
		$this->template->add_js('system/importacao_contrato/listar.js');
		$this->template->write_view('content', 'importacao_contrato/listar_view');
		$this->template->render();
	}

	public function upload()
	{
		$this->load->model('Credor_model');
		$cr = new Credor_model();

		$dados =dropdown-toggle array(
			'erro_upload'    => '',
			'erro_validacao' => ''
		);

		$dados['option_credor'] = $cr->credor_option(TRUE);

		// Submeteu o form
		if ($this->input->post())
		{
			$erro = 0;

			$this->load->library('form_validation');

			$this->form_validation->set_rules('select_credor', '<strong>Credor</strong>', 'required|xss_clean');

			if ($this->form_validation->run() === FALSE)
			{
				$dados['erro_validacao'] = validation_errors('<span>', '</span>');
				$erro++;
			}

			$config['upload_path']   = FCPATH . 'application/assets/upload/arquivo_importacao_contrato';
			$config['allowed_types'] = 'xls';
			$config['max_size']      = '5000';
			$config['max_filename']  = '100';

			$this->load->library('upload', $config);			

			if (! $this->upload->do_upload('file_arquivo'))
			{
				$dados['erro_upload'] =  $this->upload->display_errors('<span>', '</span>');
				$erro++;
			}
		}

		$this->template->add_js('system/importacao_contrato/cadastro.js');
		$this->template->write_view('content', 'importacao_contrato/cadastro_view', $dados);
		$this->template->render();
	}

	/*======= AJAX ======= */
	public function agrid_importacao_contrato()
	{
		$this->load->model('Arquivo_importado_contrato_model', 'importacao');
		$this->lang->load('status');

		$status = $this->lang->line('status_importacao');

		$limite = $this->input->post('iDisplayLength');
		$start  = $this->input->post('iDisplayStart');
		$sort   = $this->input->post('iSortCol_0');
		$order  = $this->input->post('sSortDir_0');

		switch ($sort) {
			case 1:
				$sort_field = 'ar.ai_id';
				break;
			case 2:
				$sort_field = 'ar.ai_nome_arquivo';
				break;
			case 3:
				$sort_field = 'ar.ai_status';
				break;
			default:
				$sort_field = 'ar.ai_id';
				break;
		}
		
		$arquivos = $this->importacao->get_to_grid($sort_field, $order, $start, $limite, $this->input->post());

		$resp['iTotalRecords']        = $arquivos['total'];
		$resp['iTotalDisplayRecords'] = $arquivos['total'];

		$resp['aaData'] = array();
		$indice = 0;
		foreach ($arquivos['get']->result() as $row)
		{
			$j = 0;

			$resp['aaData'][$indice][$j++] = '<label><input type="checkbox" name="check_iten[]" value="'.$row->ai_id.'" /></label>';
			$resp['aaData'][$indice][$j++] = $row->ai_id;
			$resp['aaData'][$indice][$j++] = $row->ai_nome_arquivo;
			if ($row->ai_status == 0)
			{
				$resp['aaData'][$indice][$j++] = '<i class="fugue-document-convert pointer" title="Processar contrato"></i>';
			}
			else
			{
				$resp['aaData'][$indice][$j] = $status[$row->ai_status];
				$resp['aaData'][$indice][$j++] .= '<i class="fugue-magnifier-medium-left pointer" title="Visualizar relatório"></i>';	
			}
			
			$indice++;
		}

		echo json_encode($resp);
	}

	public function aexcluir()
	{
		$this->load->model('Arquivo_importado_contrato_model', 'importacao');
		$resp = array(
			'erro' => 0,
			'msg'  => ''
		);

		// Monta o array do post
		parse_str($_POST['dados_form'], $_POST);
		
		$del = $this->importacao->excluir($_POST['check_iten']);

		if ($del['linhas_afetadas'] == 0)
		{
			// Erro ao excluir
			$resp['erro']++;
			$resp['msg'] = $del['erro']['custom_msg'];
		}
		else
		{
			$resp['msg'] =  $del['linhas_afetadas'] . ' registro(s) excluido(s) com sucesso';
		}

		echo json_encode($resp);
	}
}